//package org.gim.qs;
//
//import cn.afterturn.easypoi.excel.ExcelImportUtil;
//import cn.afterturn.easypoi.excel.entity.ImportParams;
//import org.apache.sshd.client.SshClient;
//import org.apache.sshd.client.session.ClientSession;
//import org.apache.sshd.sftp.client.SftpClient;
//import org.apache.sshd.sftp.client.SftpClientFactory;
//
//import java.io.InputStream;
//import java.util.List;
//import java.util.concurrent.TimeUnit;
//
//public class SftpEasyPoiReader {
//
//    public static void main(String[] args) {
//        String sftpHost = "47.120.60.61";
//        int sftpPort = 21;
//        String sftpUser = "lingminglei";
//        String sftpPass = "LMLlml062424";
//        String remoteDir = "/2025年10月20日";
//        String fileName = "TD-533A120250+CFile1.xlsx";
//
//        SshClient client = null;
//        ClientSession session = null;
//        SftpClient sftp = null;
//
//        try {
//            // 1️⃣ 创建 SSH 客户端
//            client = SshClient.setUpDefaultClient();
//            client.start();
//
//            // 2️⃣ 连接服务器
//            session = client.connect(sftpUser, sftpHost, sftpPort)
//                    .verify(10, TimeUnit.SECONDS)
//                    .getSession();
//
//            session.addPasswordIdentity(sftpPass);
//            session.auth().verify(5, TimeUnit.SECONDS);
//
//            System.out.println("✅ 已连接到 SFTP：" + sftpHost + ":" + sftpPort);
//
//            // 3️⃣ 使用 SftpClientFactory 创建 SFTP 客户端
//            sftp = SftpClientFactory.instance().createSftpClient(session);
//
//            // 4️⃣ 检查文件是否存在
//            boolean fileExists = false;
//            for (SftpClient.DirEntry entry : sftp.readDir(remoteDir)) {
//                if (entry.getFilename().equals(fileName)) {
//                    fileExists = true;
//                    break;
//                }
//            }
//            if (!fileExists) {
//                System.out.println("⚠️ 文件不存在：" + fileName);
//                return;
//            }
//
//            // 5️⃣ 读取文件
//            try (InputStream inputStream = sftp.read(remoteDir + fileName)) {
//                ImportParams params = new ImportParams();
//                params.setTitleRows(0);
//                params.setHeadRows(1);
//                params.setStartRows(2);
//
//                List<QualityInspectionDataExcelReq> list =
//                        ExcelImportUtil.importExcel(inputStream, QualityInspectionDataExcelReq.class, params);
//
//                System.out.println("✅ 成功读取 Excel，共 " + list.size() + " 条记录");
//                list.forEach(System.out::println);
//            }
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            try {
//                if (sftp != null) sftp.close();
//                if (session != null) session.close();
//                if (client != null) client.stop();
//            } catch (Exception ignored) {}
//        }
//    }
//
//
//}
